//! Header for the IDevice class
#ifndef IDEVICE_H
#define IDEVICE_H

#include <ostream>

//! The class IDevice represents the interface of the Device class
/*!
	This class is outputting the current state of a device
	to a stream.
	\class IDevice
	\author Andreas Lehner
	\date 25.11.2012
*/
class IDevice{
public:
	//! Prints information of a device to ostream
	/*!
		This function puts out information about the state of
		a device (on/off state) or other device specific states.
		\param stream The stream where to output the states
	*/
	virtual void Info(std::ostream &stream) = 0;
	//! Virtual DTor of IDevice
	virtual ~IDevice(){}
};

#endif